package com.sg.dto.biz.component.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @desc ImplementUploadFileComReqDto
 * @使用场景
 */
@Data
public class ImplementUploadFileComReqDto
        extends BaseDto
        implements Serializable {

    /**
     * 文件存证唯一标识
     */
    @ApiModelProperty("文件存证唯一标识")
    private String hashCode;

    /**
     * 上传文件
     */
    @ApiModelProperty("上传文件")
    private String uploadFile;

    /**
     * 上传裁剪后图片
     */
    @ApiModelProperty("上传裁剪后图片")
    private String uploadCroppedImage;

    /**
     * 平台或租户文档 PLATFORM:平台 SPACE:租户
     */
    @NotNull(message = "平台或租户文档不能为空")
    @ApiModelProperty("平台或租户文档")
    private String platformOrTenantDoc;

    /**
     * 文件存储根路径
     */
    @NotNull(message = "文件存储根路径不能为空")
    @ApiModelProperty("文件存储根路径")
    private String fileStorageRootPath;

    /**
     * 创建于空间ID
     */
    @NotNull(message = "创建于空间ID不能为空")
    @ApiModelProperty("创建于空间ID")
    private String spaceId;

    /**
     * 文档用途类型 PERSONAL_DISK:个人自主网盘 DATA_RESOURCE:数据资源 SEMANTIC_ENGINE:语义引擎图标 REPORT_THUMBNAIL:汇报缩略图 REPORT_CONTENT:汇报内容图 REPORT_ATTACH:汇报附件 PLAN_DATA:规划资料 PLAN_DATA_CONTENT:规划资料内容图 USER_HEAD:用户头像 APP_FRAME_LOGO:应用框架logo ABOUT_US_LOGO:关于我们logo APP_BANNE:应用banner SPACE_HEAD:空间头像 SCENE_LOGO:场景logo POWER_ICON:权限图标 ROLE_ICON:角色图标 PERSON_INFO_DOCK:个人岗位信息对接 DEPT_INFO_DOCK:部门信息对接 WORK_TASK_THUMBNAIL_PIC:工作任务缩略图 WORK_TASK_ATT:工作任务附件 OFFICIAL_DOCUMENT_FILE:公文文件 OFFICIAL_DOCUMENT_ANNEX:公文附件 PROJECT_ATTACH:项目附件 PROJECT_PIC:项目附图 PROBLEM_ATTACH:问题附件 PROBLEM_PIC:问题附图 ACHIVEMENT:成果附件 ACHIVEMENT_PIC:成果附图
     */
    @ApiModelProperty("文档用途类型")
    private String docUseType;

    /**
     * 个人账号
     */
    @ApiModelProperty("个人账号")
    private String userId;

}
